<!--  -->
<template>
<div class=''>
  <el-upload
  action="http://linweiqin.cn:8001/v1/addimg/avatar"
  :show-file-list="false"
  :on-success="handleAvatarSuccess"
  :before-upload="beforeAvatarUpload"
  >
  <img v-if="imageUrl" :src="imageUrl" alt="">
  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
  </el-upload>
</div>
</template>

<script>
//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
//例如：import 《组件名称》 from '《组件路径》';

export default {
//import引入的组件需要注入到对象中才能使用
components: {},
data() {
//这里存放数据
return {
  imageUrl:""
};
},
//监听属性 类似于data概念
computed: {},
//监控data中的数据变化
watch: {},
//方法集合
methods: {
  //文件上传成功之后
  handleAvatarSuccess:function(res){
    let imageUrl = "http://linweiqin.cn:8001/img/" + res.image_path;//给页面展示的图片一个地址
    this.imageUrl = imageUrl;//把地址给到上面使用
  },
  //校验环节
  beforeAvatarUpload:function(file){
    let size_M = file.size / 1024 / 1024; //转换为多少m
    let imageType = file.type.trim();//把前后空格去掉
    let limit2M = size_M > 2 ? false : true;//判断图片是否大于2m
     if (!limit2M) {
        this.$message("上传文件不能超过2M");
      }
      let valid_image_type = true;//用给下面来判断是否格式正确
      //判断图片格式
       if (imageType == "image/png" || imageType == "image/jpeg") {
        valid_image_type = true;
      } else {
        valid_image_type = false;
        this.$message({
          type: "warning",
          message: "上传文件的图片格式不正确！",
        });
      }
      return limit2M && valid_image_type;
  }
},
//生命周期 - 创建完成（可以访问当前this实例）
created() {

},
//生命周期 - 挂载完成（可以访问DOM元素）
mounted() {

},
beforeCreate() {}, //生命周期 - 创建之前
beforeMount() {}, //生命周期 - 挂载之前
beforeUpdate() {}, //生命周期 - 更新之前
updated() {}, //生命周期 - 更新之后
beforeDestroy() {}, //生命周期 - 销毁之前
destroyed() {}, //生命周期 - 销毁完成
activated() {}, //如果页面有keep-alive缓存功能，这个函数会触发
}
</script>
<style lang='less' scoped>
.avatar-uploader-icon {
  font-size: 28px;
  color: #8c939d;
  width: 178px;
  height: 178px;
  line-height: 178px;
  text-align: center;
  border: 1px solid #ddd;
}
</style>